all: copy_song liblcom.a

copy_song: main.o video-text.o menu.o kbd_isr.o ints.o music.o timer.o game.o wait.o rtc.o video-graphics.o
	gcc video-text.o main.o menu.o kbd_isr.o ints.o music.o timer.o game.o wait.o rtc.o video-graphics.o -o copy_song -L. -lm
	
liblcom.a: main.o video-text.o menu.o kbd_isr.o ints.o music.o timer.o game.o wait.o rtc.o video-graphics.o
	ar -cr liblcom.a main.o video-text.o menu.o kbd_isr.o ints.o music.o timer.o game.o wait.o rtc.o video-graphics.o
	
menu.o: menu.h menu.c
	gcc -c menu.c -o menu.o -Wall

main.o: main.c menu.h
	gcc -c main.c -o main.o
	
video-text.o: video-text.h video-text.c
	gcc -c video-text.c -o video-text.o -Wall
	
kbd_isr.o: kbd_isr.asm
	nasm -t -f coff kbd_isr.asm -o kbd_isr.o
	
ints.o: ints.h ints.c
	gcc -c ints.c -o ints.o -Wall
	
music.o: music.h music.c
	gcc -c music.c -o music.o -Wall

timer.o: timer.h timer.c
	gcc -c timer.c -o timer.o -Wall
	
game.o: game.h game.c
	gcc -c game.c -o game.o -Wall

wait.o: wait.asm
	nasm -t -f coff wait.asm -o wait.o
	
rtc.o: rtc.h rtc.c
	gcc -c rtc.c -o rtc.o -Wall

video-graphics.o: video-graphics.h video-graphics.c
	gcc -c video-graphics.c -o video-graphics.o -Wall
	
clean:
	del *.o
	del copy_song
	del *.a
	
rebuild: clean all